﻿using System.Collections.Generic;

namespace NSGetData
{
    public class NSSp3dData
    {
        public NSSp3dData(string name, double x, double y, double z)
        {
            Name = name;
            Point = new Point(x, y, z);
            Filelds = new Dictionary<string, dynamic>();
        }
        public string Name { get; set; }
        public Point Point { get; set; }

        public void AddFields(string str, dynamic value)
        {
            if (!Filelds.ContainsKey(str))
            {
                Filelds.Add(str, value);
            }
        }

        public Dictionary<string, dynamic> Filelds;
    }
    public struct Point
    {
        public Point(double x, double y, double z)
        {
            PX = x;
            PY = y;
            PZ = z;
        }
        public double PX { get; set; }
        public double PY { get; set; }
        public double PZ { get; set; }
    }
    public class NSLoadDef
    {
        public string Name { get; set; }
        public bool SelfDefine { get; set; }
        public LoadCaseDef LoadCase { get; set; }

        //重力荷载代表值
        public double GravityProxy { get; set; }
        //非地震分项系数 不利
        public double AdNonSeiCoefficient { get; set; }
        //非地震分项系数 利
        public double BenNonSeiCoefficient { get; set; }
        //地震分项系数 不利
        public double AdSeiCoefficient { get; set; }
        //地震分项系数 利
        public double BenSeiCoefficient { get; set; }
        //非地震组合值系数
        public double NonSesimicCoefficient { get; set; }
        //地震组合值系数
        public double SesimicCoefficient { get; set; }
        //频遇值系数
        public double FreComCoefficient { get; set; }
        //准永久值系数
        public double QuasiPreComCoefficient { get; set; }
        public double WallDisCoefficient { get; set; }
        public double MainBeamDisCoefficient { get; set; }
        public double SecBeamDisCoefficient { get; set; }

    }
    public enum LoadCaseDef
    {
        恒载 = 100,
        活载 = 101,
        消防车 = 112,
        人防 = 105,
        X风载正吹 = 41,
        X风载反吹 = 44,
        Y风载正吹 = 51,
        Y风载反吹 = 54,
        X水平地震 = 1,
        Y水平地震 = 21,
        竖向地震 = 104,
    }
}
